package com.eduagent.xwqeduagent.model.dto;

import cn.hutool.core.annotation.Alias;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * 通用图像编辑请求类
 */
@Data
public class CreateGeneralImageEditingRequest implements Serializable {
    /**
     * 要执行的功能
     * stylization_all：全局风格化
     * stylization_local：局部风格化
     * description_edit：指令编辑
     * description_edit_with_mask：局部重绘
     * remove_watermark：去文字水印
     * expand：扩图
     * super_resolution：图像超分
     * colorization：图像上色
     * doodle：线稿生图
     * control_cartoon_feature：参考卡通形象生图
     */
    private String function;
    
    /**
     * 输入提示词
     * 描述生成图像期望包含的元素和视觉特点
     */
    private String prompt;
    
    /**
     * 输入图像URL地址
     */
    @Alias("base_image_url")
    private String baseImageUrl;
    
    /**
     * 涂抹区域图像URL地址
     * 仅当function为description_edit_with_mask时必填
     */
    @Alias("mask_image_url")
    private String maskImageUrl;
    
    /**
     * 生成图片的数量，取值范围1~4，默认为1
     */
    private Integer n = 1;
    
    /**
     * 随机数种子，取值范围[0, 2147483647]
     */
    private Integer seed;
    
    /**
     * 是否添加水印
     */
    private Boolean watermark = false;
    
    private static final long serialVersionUID = 1L;
} 